C#```SQL``的问题```

来源:百度知道 编辑:UC知道 时间:2024/06/08 11:43:36
我用C#设计了一个程序```
我在SQL里设计了一张表
里面有ID,FriendID,IP,Online四个字段
我设计的是客户端登陆的时候,向服务器发送套接字,让服务器修改该表的IP地址和Online在线状态为上线状态,当客户端关闭的时候向服务器发送套接字,让服务器清空IP地址和Online在线状态为离线状态,但这是在客户端正常关闭的时候才能顺利进行

如果客户端是非正常关闭结束,就不会发送修改离线状态的数据流,我这里应该怎么来处理呢

用户每刷新一次页面 就向数据库里提交个时间,并判断其他用户是否在某个时间段外了,进行删除工作.

有个类写的不错,我也没有仔细看呢, 也是判断在线用户的.

http://hi.baidu.com/%B3%C2%B8%A3%D0%CB/blog/item/93e08982cd1a4395f703a67c.html

C#我也没有写过,暂时帮不到你,不过有一个建议,也许对你有用,也就是现在有许多的ASP的免费的BBS都有这样一个功能,你可以找一个下来分析一下,相信里面的思路是可以解决的.

很简单的统计在线人数原理,设置一下session过期时间就行了吧

似乎楼主开发的是C/S模式的程序,可让客户端间隔一定的时间发送套接字给服务器,证明其在线;服务器端存在一个进程,记录登录的客户端发送套接字的时间,并定时扫描这些记录是否超时(根据当前时间和发送时间时间之差),超时则清空IP地址和Online在线状态为离线状态。

你查下那个global.asax.cs文件,里面定义的方法,有一个
Session_End(Object sender, EventArgs e)方法,应当可以解决这个问题